#define _CRT_SECURE_NO_WARNINGS 1
#include <iostream>
#include <deque>
using namespace std;

namespace foxny {
	template<class T, class Container = deque<T>>
	class stack {
	public:
		void push(const T& x) {
			_con.push_back(x);    // 对于栈而言，入栈就是尾插
		}
		void pop() {
			_con.pop_back();     // 对于栈而言，出栈就是尾删
		}
		const T& top() {
			return _con.back();  // 返回尾上数据
		}
		size_t size() {
			return _con.size();  // 返回大小
		}
		bool empty() {
			return _con.empty(); // 返回是否为空
		}

	private:
		Container _con;
	};
}